#pragma once
#include <YSimpleSystem/YProactorToken.h>
namespace ysimple_network
{
	struct ITCPSession;
	struct ICancelIOCallback;

	class YProactorTokenOnCancelIO :
		public ysimple_system::YProactorToken
	{
		ITCPSession*		m_pSession;
		ICancelIOCallback*	m_pCallback;
	public:
		YProactorTokenOnCancelIO(void);
		virtual ~YProactorTokenOnCancelIO(void);

		bool	init(ICancelIOCallback& callback, ITCPSession& session);
		bool	onCompleted(bool completionStatus, LONG_PTR		completionKey, DWORD			dwBytesTransfered ) override;
	};
	
}

